package com.liuzheng.actiondemo;

import javax.swing.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class KeyboardActionListener extends JFrame implements KeyListener {
    public KeyboardActionListener(){
        this.setSize(420,500);
        this.setAlwaysOnTop(true);
        this.setAlwaysOnTop(true);
        //设置界面居中
        this.setLocationRelativeTo(null);
        //设置关闭模式
        this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        //取消默认居中放置
        this.setLayout(null);
        this.addKeyListener(this);
        this.setVisible(true);
    }
    //keyPressed 这个方法是在键盘被按下后，会执行这个方法
    //keyReleased 这个方法是在键盘松开后，会执行这个方法
    @Override
    public void keyTyped(KeyEvent e) {
        //键盘被按下后，会执行这个方法
        if(e.getKeyChar()=='a'){
            System.out.println("a被按下了");
        }
    }

    @Override
    public void keyPressed(KeyEvent e) {
        //键盘被按下后，会执行这个方法
        int code = e.getKeyCode();
        if(e.getKeyChar()=='b' || code == 65){
            System.out.println("a被按下了");
        }
    }

    @Override
    public void keyReleased(KeyEvent e) {
        //键盘松开后，会执行这个方法
        int code = e.getKeyCode();
        System.out.println(code+"被按下了");
    }
}
